Eggplant DAIでのアクション
Eggplant DAIを使用すると、システムがテスト対象(SUT)のモデルを作成し、Eggplant DAIがあなたのシステムでテストを生成するためにそのアルゴリズムを使用することができます。モデルは_状態_と_アクション_で構成されています。状態とは、インターフェイスの個々の画面などのことを指します。アクションとは、特定の画面でユーザーが行ったり、ユーザーを画面間で移動させたりすることを指します。
モデルを実行すると、Eggplant DAIエンジンがフォローするパスを選択し、そのアルゴリズムと可能なステップに基づいて各アクションを決定します。SUTに対してテストを実行するには、FusionエンジンからSenseTalkスニペットをアクションにリンクします。
状態に関する詳細情報は、Eggplant DAIでの状態の定義を参照してください。
アクションの種類
Eggplant DAIには3つのアクションがあります:
- 通常: これらのアクションは他のアクションに対して特定の順序で実行する必要はありません。これが最も一般的なアクションのタイプです。
- 順序: これらのアクションは特定の他のアクションに対して特定の順序で実行する必要があります。
- 前: これらのアクションはモデルを前の状態に戻します。つまり、現在の状態に移行する原因となった状態に戻します。
アクションの種類を変更するには、アクションを選択し、アクションプロパティタブのタイプリストメニューを使用して、希望のアクションタイプを選択します。アクションプロパティの詳細については、アクションプロパティの設定を参照してください。
アクションを同じ状態にリンクする
前のアクションタイプは、状態変更を引き起こすために特別に事前に定義されたアクションがある唯一のタイプです。他のアクションタイプは、添付されたSenseTalkスニペットで定義されたアクションを実行します。したがって、新しい状態を呼び出すようにアクションをしたい場合、スニペットコードはそれを明示的に行う必要があります。
モデルのデフォルトの動作は、同じ状態にとどまることです。状態変更は、アクションによって状態変更が呼び出されたときにのみ発生します。たとえば、呼び出されたアクションがUIのボタンをクリックするか、フィールドにテキストを入力する場合、アクションは実行され、次にEggplant DAIアルゴリズムが同じ状態から次のアクションを選択します。アクション自体が状態変更を引き起こさないと仮定します。
言い換えれば、アクションを親の状態にリンクするためのアクションは必要ありません(または利用可能ではありません)。新しい状態が明示的に要求されるまで、すべてのアクションはその状態にとどまります。
アクションの作成
モデルの状態にアクションを追加するには、以下の手順を実行します:
- モデルワークスペースで、興味のある状態を選択します。
- アクションを作成します。以下のどちらかの方法を使用します:
- ツールバーで新しいアクションをクリックします。
- 選択した状態で右クリックします。アクションリストから新しいアクションを選択します。
- Use
Ctrl+Shift+A
.\ 新しいアクションが表示され、Action Propertiesタブが選択され、入力の準備ができています。
- アクションプロパティの設定の ガイドラインに従ってアクションを設定します。
アクションは、左ペインのモデルツリータブに表示されます。状態内のアクションはその状態の下の階層に、グローバルアクション(以下で説明)は状態と同じレベルのツリーに表示されます。ツリービューでドラッグアンドドロップすることで、親状態間でアクションを移動することができます。
グローバルアクション
グローバルアクションは、任意の状態で実行できるアクションです。グローバルアクションの良い例は画面の回転です:ユーザーはあなたのアプリケーションを使用中にいつでもモバイルデバイスを回転させることができるので、その実行を一つの状態に限定することはありません。
モデルにグローバルアクションを追加するには、アクションの作成で示 されている手順に従います。ただし、状態を選択する(ステップ1)代わりに、状態やアクションが選択されていないことを確認します。何も選択せずにアクションを作成すると、そのアクションはグローバルアクションになります。
アクションプロパティの設定
新しいアクションを作成した後、アクションプロパティを設定してその動作をカスタマイズすることができます。これらのプロパティはモデルワークスペースの右ペインにあるアクションプロパティタブで編集します。
一般プロパティセクション
アクションプロパティタブの上部セクションでは、アクションの一般的なプロパティを調整できます:
- 名前: 新しいアクションはデフォルトの名前で作成されます。ここで名前をモデルにもっと説明的なものに変更します。このフィールドでは、ダブルクォーテーションを除くすべてのUnicode(UTF-8)文字を使用できます。
- 説明: このフィールドはオプションですが、このアクションについての有用な情報を記録するために使用できます。
- タイプ: このリストを使用してアクションタイプを設定します。新しいアクションは通常のタイプで作成され、これが最も一般的なアクションタイプです。ただし、必要に応じてここでSequentまたはPreviousに切り替えることができます。各アクションタイプの説明については、上のアクションの種類セクションを参照してください。
- SUT最終更新日: このリストを使用してSUTの最終更新日を設定します。Eggplant DAIが次に実行するアクションを計算するとき、SUTの最終更新日以降に取得されたカバレッジのみを考慮します。
- 重み: この設定を使用すると、モデルが実行されるときにアクションが実行される確率を変更できます。アクションのデフォルトの重みは100です。その値を50に変更すると、アクションは重みの値が100のアクションと比べて実行される確率が半分になります。
- アクション制限: この値は、テスト実行中にアクションが実行される回数の上限を設定します。この設定をアクション制限のリセットチェックボックスと一緒に使用して、状態の訪問中または全体のテスト実行中にアクションが実行できる回数を管理します。
新しいアクションはデフォルトのアクション制限値0(ゼロ)を持っています。この値はアクションが訪問できる回数に制限がないことを意味します。
- アクション時間制限: この値は、アクションが実行するのにかかる時間(秒単位)の上限を設定します。この設定は性能テストに役立ちます。デフォルト値は0です。
- アクション制限のリセット: このチェックボックスは、アクション制限の設定が状態内の単一訪問に適用されるのか、全体のテスト実行に適用されるのかを決定します:
- 選択されている場合、Eggplant DAIは状態を終了するたびにアクションのテストカウントをリセットするため、制限はこのアクションが状態を訪問するたびに実行できる回数に適用されます。
- チェックを外すと、Eggplant DAIはテスト実行全体でのアクションの発生を数えます。この場合、アクションの制限は、このアクションがテスト全体で実行できる回数を決定します。
アクションからの接続セクション
このセクションを使用して、アクションが状態に接続するように設定します。このテーブルの左側は接続選択で、3つの列が含まれています:
-
状態: この列はモデル内のすべての状態をリスト化します。
-
接続